package locacoes;

import exemplares.Exemplar;
import exemplares.ExemplarNaoEncontradoException;
import exemplares.IteratorExemplares;
import exemplares.RepositorioExemplaresLista;

public class Locacao {
	private int codigo;

	private String data;

	private boolean baixa;

	private RepositorioExemplaresLista exemplares;

	private String funcionarioAssociado;

	private String funcionarioUsuario;

	public Locacao(int codigo) {
		this.codigo = codigo;
		this.data = null;
		this.baixa = false;
		this.funcionarioAssociado = null;
		this.funcionarioUsuario = null;
		this.exemplares = new RepositorioExemplaresLista();
	}

	public int getCodigo() {
		return codigo;
	}

	public String getData() {
		return data;
	}

	public boolean existeBaixa() {
		return baixa;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	public void setBaixa(boolean baixa) {
		this.baixa = baixa;
	}
	
	public boolean getBaixa(){
		return this.baixa;
	}
	
	public void setData(String data) {
		this.data = data;
	}

	public String getFuncionarioAssociado() {
		return funcionarioAssociado;
	}

	public String getFuncionarioUsuario() {
		return funcionarioUsuario;
	}
	
	public void setFuncionarioUsuario(String funcionarioUsuario) {
		this.funcionarioUsuario = funcionarioUsuario;
	}

	public void setFuncionarioAssociado(String funcionarioAssociado) {
		this.funcionarioAssociado = funcionarioAssociado;
	}

	public void inserirExemplar(Exemplar e) {
		this.exemplares.inserir(e);
	}

	public void removerExemplar(int e) throws ExemplarNaoEncontradoException {
		this.exemplares.remover(e);
	}

	public Exemplar procurarExemplar(int e) throws ExemplarNaoEncontradoException {
		return this.exemplares.procurar(e);
	}

	public IteratorExemplares getExemplares() {
		return this.exemplares.getIterator();
	}
	
	//public boolean existeExemplar (Exemplar e)
	
}
